import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Usuario here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Usuario  extends Pescador
{
    /**
     * Act - do whatever the Usuario wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    
   int ini=0;
   Mundo mundo=(Mundo)getWorld();
   GreenfootImage mira;
   int b=0;
   int enem=20;
   /**
    * Metodo que escala la imagen de la mira del usuario
    */
    public Usuario()
    {
      mira=getImage();
      mira.scale(30,30);
    }
    /**
     * Metodo que checa a que objeto dio click, dependiendo de esto, suma el puntaje necesario, ademas
     * tambien suma los puntos de las balas cuando das click sobre ellas, tambien genera el
     * sonido de dispara cada que das click, manda llamara a GameOver(), en  el caso de que se
     * te hayan terminado las balas
     */
     public void act() 
    {
        if(Greenfoot.mouseMoved(null)) 
        {
            MouseInfo mouse = Greenfoot.getMouseInfo();
            setLocation(mouse.getX(), mouse.getY());
        }    
        
        if(Greenfoot.mouseClicked(null)) 
        {          
            int x = getImage().getWidth()/1000;
            int y = getImage().getHeight()/1000;
          
            if(((Puntaje)(getWorld().getObjects(Puntaje.class).get(2))).getValue()>0)
            {
               
               Greenfoot.playSound("disparo.wav");
            
               Pez Pez1= (Pez) getOneObjectAtOffset(x , y, Pez.class);
               Buzo Buzo1= (Buzo) getOneObjectAtOffset(x , y, Buzo.class);
               Bala balas = (Bala) getOneObjectAtOffset(x,y, Bala.class);

               if(Pez1!=null)
               {
                  getWorld().removeObject(Pez1);
                  ((Puntaje)(getWorld().getObjects(Puntaje.class).get(1))).add(100);
                
               }
               
               if(Buzo1!=null)
               {
                  getWorld().removeObject(Buzo1);
                  ((Puntaje)(getWorld().getObjects(Puntaje.class).get(1))).subtract(100);
                
               }
             
               if(balas!=null)
               {
                   getWorld().removeObject(balas);
                   ((Puntaje)(getWorld().getObjects(Puntaje.class).get(2))).add(10);
           
               }
               ((Puntaje)(getWorld().getObjects(Puntaje.class).get(2))).subtract(1);
            }
            else
               ((Mundo)getWorld()).GameOver();
             
    }
}}

